mssql

推荐列表 站点导航

当前位置:首页 > 数据库 > mssql >

深入sql server 2005 万能分页存储过程的详解

来源:网络整理  作者:网络  发布时间:2020-12-11 05:48
本篇文章是对sqlserver2005中的万能分页存储过程进行了详细的分析介绍,需要的朋友参考下...
INSERT INTO #detail
(

–定义游标
goodsname VARCHAR(50),
–建立子表临 时表

–建立主表临时表
OPEN @temp_cursor

–打开游标

Qty int

companyname VARCHAR(100)
FROM OrderInfo oi INNER JOIN CompanyInfo ci ON oi.CompanyID=ci.CompanyID
detailid UNIQUEIDENTIFIER,
orderseqno VARCHAR(36),
DEALLOCATE @temp_cursor

unitprice DECIMAL(12,2),
DROP TABLE #temp
SELECT od.OrderSeqNO,od.OrderDetailID, od.UnitPrice,od.Qty
SELECT * FROM #detail
(
SET @temp_cursor=CURSOR FOR SELECT #temp.orderseqno,#temp.goodsname FROM #temp

DECLARE @orderseqno VARCHAR(36),@goodsname varchar(50)

上面的T-SQL只在SQL Server 2005上调试成功。

–定义游标循环过程中所需保存的临时数据
)
oi.OrderSeqNO, oi.GoodsName ,ci.CompanyName
–给游标赋值
) AS oo

–关闭游标

–循环游标,查询子表数据,然后插入子表临时表
END

rownumber bigint,
DROP TABLE #detail

SELECT * FROM #temp
insert into #temp

CREATE TABLE #detail
WHERE rownumber BETWEEN 10 AND 20

FETCH NEXT FROM @temp_cursor INTO @orderseqno,@goodsname
CLOSE @temp_cursor
FROM OrderDetail od
WHILE @@FETCH_STATUS=0
orderseqno VARCHAR(36),
–插入主表数据到主表临时表
SELECT oo.rownumber, oo.OrderSeqNO, oo.GoodsName, oo.CompanyName FROM
DECLARE @temp_cursor CURSOR
WHERE od.OrderSeqNO=@orderseqno


WHERE oi.CreateDate<GETDATE()
–删除临时表

(SELECT ROW_NUMBER () OVER (ORDER BY oi.createdate DESC) AS rownumber,
CREATE TABLE #temp

FETCH NEXT FROM @temp_cursor INTO @orderseqno,@goodsname
)
BEGIN

相关热词: 详解 分页

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/sql/mssql/2445.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

深入sql server 2005 万能分页存储过程的详解

2020-12-11 编辑:网络

INSERT INTO #detail
(

–定义游标
goodsname VARCHAR(50),
–建立子表临 时表

–建立主表临时表
OPEN @temp_cursor

–打开游标

Qty int

companyname VARCHAR(100)
FROM OrderInfo oi INNER JOIN CompanyInfo ci ON oi.CompanyID=ci.CompanyID
detailid UNIQUEIDENTIFIER,
orderseqno VARCHAR(36),
DEALLOCATE @temp_cursor

unitprice DECIMAL(12,2),
DROP TABLE #temp
SELECT od.OrderSeqNO,od.OrderDetailID, od.UnitPrice,od.Qty
SELECT * FROM #detail
(
SET @temp_cursor=CURSOR FOR SELECT #temp.orderseqno,#temp.goodsname FROM #temp

DECLARE @orderseqno VARCHAR(36),@goodsname varchar(50)

上面的T-SQL只在SQL Server 2005上调试成功。

–定义游标循环过程中所需保存的临时数据
)
oi.OrderSeqNO, oi.GoodsName ,ci.CompanyName
–给游标赋值
) AS oo

–关闭游标

–循环游标,查询子表数据,然后插入子表临时表
END

rownumber bigint,
DROP TABLE #detail

SELECT * FROM #temp
insert into #temp

CREATE TABLE #detail
WHERE rownumber BETWEEN 10 AND 20

FETCH NEXT FROM @temp_cursor INTO @orderseqno,@goodsname
CLOSE @temp_cursor
FROM OrderDetail od
WHILE @@FETCH_STATUS=0
orderseqno VARCHAR(36),
–插入主表数据到主表临时表
SELECT oo.rownumber, oo.OrderSeqNO, oo.GoodsName, oo.CompanyName FROM
DECLARE @temp_cursor CURSOR
WHERE od.OrderSeqNO=@orderseqno


WHERE oi.CreateDate<GETDATE()
–删除临时表

(SELECT ROW_NUMBER () OVER (ORDER BY oi.createdate DESC) AS rownumber,
CREATE TABLE #temp

FETCH NEXT FROM @temp_cursor INTO @orderseqno,@goodsname
)
BEGIN

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/sql/mssql/2445.shtml

相关文章

风云图片

推荐阅读

返回mssql频道首页